package hankz.spring.beans.factory;

import hankz.spring.beans.BeansException;
import hankz.spring.beans.factory.config.AutowireCapableBeanFactory;
import hankz.spring.beans.factory.config.BeanDefinition;
import hankz.spring.beans.factory.config.BeanPostProcessor;
import hankz.spring.beans.factory.config.ConfigurableBeanFactory;


/**
 * @description: TODO
 * @author: zzc
 * @modified By: zzc
 * @date: Created in 2021/11/21 16:54
 * @version:v1.0
 */
public interface ConfigurableListableBeanFactory extends ListableBeanFactory, AutowireCapableBeanFactory, ConfigurableBeanFactory {

    BeanDefinition getBeanDefinition(String beanName) throws BeansException;

    void preInstantiateSingletons() throws BeansException;

    void addBeanPostProcessor(BeanPostProcessor beanPostProcessor);

}

